Systems and methods for control of a closed-loop system

ABSTRACT

In accordance with embodiments of the present disclosure, a system may include a feedback controller and a comparator. The feedback controller may be configured to, based on a setpoint value and a measured process value calculate a first difference between the setpoint value and the measured process value and generate a controller driving signal based on the first difference. The comparator may be configured to compare a second difference between the setpoint value and a previous setpoint value to a predetermined threshold, determine if a magnitude of the second difference is greater than the predetermined threshold, output as an output driving signal the controller driving signal if the magnitude is not greater than the predetermined threshold, and output as the output driving signal a setpoint driving signal if the magnitude is greater than the predetermined threshold, the setpoint value based on the setpoint value independent of the measured process value.

TECHNICAL FIELD

The present disclosure relates in general to information handling systems, and more particularly controlling a closed-loop system (e.g., an air mover and an associated closed-loop control system within an information handling system).

BACKGROUND

As the value and use of information continues to increase, individuals and businesses seek additional ways to process and store information. One option available to users is information handling systems. An information handling system generally processes, compiles, stores, and/or communicates information or data for business, personal, or other purposes thereby allowing users to take advantage of the value of the information. Because technology and information handling needs and requirements vary between different users or applications, information handling systems may also vary regarding what information is handled, how the information is handled, how much information is processed, stored, or communicated, and how quickly and efficiently the information may be processed, stored, or communicated. The variations in information handling systems allow for information handling systems to be general or configured for a specific user or specific use such as financial transaction processing, airline reservations, enterprise data storage, or global communications. In addition, information handling systems may include a variety of hardware and software components that may be configured to process, store, and communicate information and may include one or more computer systems, data storage systems, and networking systems.

As processors, graphics cards, random access memory (RAM) and other components in information handling systems have increased in clock speed and power consumption, the amount of heat produced by such components as a side-effect of normal operation has also increased. Often, the temperatures of these components need to be kept within a reasonable range to prevent overheating, instability, malfunction and damage leading to a shortened component lifespan. Accordingly, air movers (e.g., cooling fans and blowers) have often been used in information handling systems to cool information handling systems and their components.

Often, the operation of an air mover (e.g., rotational speed of air movers) is controlled by a proportional-integral-differential (PID) closed-loop control system. Typical PID closed-loop control is based on a mathematical equation summing proportional, integral, and differential terms of the variable (e.g., air mover speed) being controlled. Traditional PID control implementations are prone to oscillation and excessive lag if not tuned correctly. Oscillation occurs when a PID controller repeatedly makes changes that are too large and repeatedly overshoots a target variable setpoint, meaning that a system output would oscillate around the setpoint in either a constant, growing, or decaying sinusoid. If the oscillations increase with time then the system is unstable, whereas if they decrease the system is stable. If the oscillations remain at a constant magnitude the system is marginally stable. When PID control is used to control an air mover, oscillation may be audibly noticeable to an end user.

Lag occurs when a significant change in a setpoint for a PID controller occurs, and the PID controller requires significant time to correct the system output to match the new set point. When used to control operation of an air mover, PID control may not respond quickly enough to prevent undesirable thermal increases.

In addition to these disadvantages of PID control as applied to control of air movers, such disadvantages may also be present in other applications of PID control.

SUMMARY

In accordance with the teachings of the present disclosure, the disadvantages and problems associated with control of a closed-loop system may be substantially reduced or eliminated.

In accordance with embodiments of the present disclosure, a system may include a feedback controller and a comparator. The feedback controller may be configured to, based on a setpoint value and a measured process value calculate a first difference between the setpoint value and the measured process value and generate a controller driving signal based on the first difference. The comparator may be configured to compare a second difference between the setpoint value and a previous setpoint value to a predetermined threshold, determine if a magnitude of the second difference is greater than the predetermined threshold, output as an output driving signal the controller driving signal if the magnitude is not greater than the predetermined threshold, and output as the output driving signal a setpoint driving signal if the magnitude is greater than the predetermined threshold, the setpoint value based on the setpoint value independent of the measured process value.

In accordance with these and other embodiments a method may include calculating a first difference between a setpoint value and a measured process value. The method may also comprise generating a controller driving signal based on the first difference. The method may additionally include comparing a second difference between the setpoint value and a previous setpoint value to a predetermined threshold. The method may further include determining if a magnitude of the second difference is greater than the predetermined threshold. The method may also include outputting as an output driving signal the controller driving signal if the magnitude is not greater than the predetermined threshold. The method may additionally include outputting as the output driving signal a setpoint driving signal if the magnitude is greater than the predetermined threshold, the setpoint value based on the setpoint value independent of the measured process value.

In accordance with these and other embodiments of the present disclosure, an information handling system may include an air mover and an air mover control system configured to control a velocity of the air mover. The air mover control system may be configured to based on a measured temperature, determine a setpoint velocity. In addition, the air mover control system may, based on the setpoint velocity and a measured velocity of the air mover, calculate a first difference between the setpoint velocity and the measured velocity and generate a controller air mover driving signal based on the first difference. The air mover control system may also be configured to compare a second difference between the setpoint velocity and a previous setpoint velocity to a predetermined threshold. The air mover control system may further be configured to determine if a magnitude of the second difference is greater than the predetermined threshold. The air mover control system may additionally be configured to communicate to the air mover as an air mover driving signal the controller air mover driving signal if the magnitude is not greater than the predetermined threshold. The air mover control system may also be configured to communicate to the air mover as the air mover driving signal a setpoint air mover driving signal if the magnitude is greater than the predetermined threshold, the setpoint air mover driving signal based on the setpoint velocity independent of the measured velocity.

Technical advantages of the present disclosure will be apparent to those of ordinary skill in the art in view of the following specification, claims, and drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

A more complete understanding of the present embodiments and advantages thereof may be acquired by referring to the following description taken in conjunction with the accompanying drawings, in which like reference numbers indicate like features, and wherein:

FIG. 1 illustrates a block diagram of an example information handling system, in accordance with the present disclosure;

FIG. 2 illustrates a block diagram of an example air mover control system, in accordance with the present disclosure; and

FIG. 3 illustrates a flow chart of an example method for air mover control, in accordance with the present disclosure.

DETAILED DESCRIPTION

Preferred embodiments and their advantages are best understood by reference to FIGS. 1-3, wherein like numbers are used to indicate like and corresponding parts.

For the purposes of this disclosure, an information handling system may include any instrumentality or aggregate of instrumentalities operable to compute, classify, process, transmit, receive, retrieve, originate, switch, store, display, manifest, detect, record, reproduce, handle, or utilize any form of information, intelligence, or data for business, scientific, control, entertainment, or other purposes. For example, an information handling system may be a personal computer, a PDA, a consumer electronic device, a network storage device, or any other suitable device and may vary in size, shape, performance, functionality, and price. The information handling system may include memory, one or more processing resources such as a central processing unit (CPU) or hardware or software control logic. Additional components of the information handling system may include one or more storage devices, one or more communications ports for communicating with external devices as well as various input and output (I/O) devices, such as a keyboard, a mouse, and a video display. The information handling system may also include one or more buses operable to transmit communication between the various hardware components.

For the purposes of this disclosure, computer-readable media may include any instrumentality or aggregation of instrumentalities that may retain data and/or instructions for a period of time. Computer-readable media may include, without limitation, storage media such as a direct access storage device (e.g., a hard disk drive or floppy disk), a sequential access storage device (e.g., a tape disk drive), compact disk, CD-ROM, DVD, random access memory (RAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), and/or flash memory; as well as communications media such as wires, optical fibers, microwaves, radio waves, and other electromagnetic and/or optical carriers; and/or any combination of the foregoing.

For the purposes of this disclosure, information handling resources may broadly refer to any component system, device or apparatus of an information handling system, including without limitation processors, busses, memories, I/O devices and/or interfaces, storage resources, network interfaces, motherboards, integrated circuit packages; electro-mechanical devices (e.g., air movers), displays, and power supplies.

FIG. 1 illustrates a block diagram of an example information handling system 102, in accordance with the present disclosure. In some embodiments, an information handling system 102 may comprise a server chassis configured to house a plurality or servers or “blades.” In other embodiments, information handling system 102 may comprise a personal computer (e.g., a desktop computer, laptop computer, mobile computer, and/or notebook computer). In yet other embodiments, information handling system 102 may comprise a storage enclosure configured to house a plurality of physical disk drives and/or other computer-readable media for storing data. As shown in FIG. 1, an information handling system 102 may comprise a processor 103, a memory 104, an air mover control system 106, an air mover 108, a speed sensor 110 and a temperature sensor 112.

Processor 103 may comprise any system, device, or apparatus operable to interpret and/or execute program instructions and/or process data, and may include, without limitation a microprocessor, microcontroller, digital signal processor (DSP), application specific integrated circuit (ASIC), or any other digital or analog circuitry configured to interpret and/or execute program instructions and/or process data. In some embodiments, processor 103 may interpret and/or execute program instructions and/or process data stored in memory 104 and/or another component of information handling system 102.Memory 104 may be communicatively coupled to processor 103 and may comprise any system, device, or apparatus operable to retain program instructions or data for a period of time. Memory 104 may comprise random access memory (RAM), electrically erasable programmable read-only memory (EEPROM), a PCMCIA card, flash memory, magnetic storage, opto-magnetic storage, or any suitable selection and/or array of volatile or non-volatile memory that retains data after power to information handling system 102 is turned off.

Air mover control system 106 may be communicatively coupled to processor 103 and may include any system, device, or apparatus configured to receive one or more signals indicative of a one or more temperatures within information handling system 102 (e.g., one or more signals from one or more temperature sensors 112) and/or a signal indicative of a speed of air mover 108 (e.g., a signal from speed sensor 110), and based on such signals, calculate an air mover driving signal to maintain an appropriate level of cooling, increase cooling, or decrease cooling, as appropriate, and communicate such air mover driving signal to air mover 108. Air mover 108 may be communicatively coupled to air mover control system 106, and may include any mechanical or electro-mechanical system, apparatus, or device operable to move air and/or other gasses. In some embodiments, air mover 108 may comprise a fan (e.g., a rotating arrangement of vanes or blades which act on the air). In other embodiments, air mover 108 may comprise a blower (e.g., centrifugal fan that employs rotating impellers to accelerate air received at its intake and change the direction of the airflow). In these and other embodiments, rotating and other moving components of air mover 108 may be driven by a motor. The rotational speed of such motor may be controlled by the air mover control signal communicated from air mover control system 106. In operation, air mover 108 may cool information handling resources of information handling system 102 by drawing cool air into an enclosure housing the information handling resources from the outside the chassis, expel warm air from inside the enclosure to the outside of such enclosure, and/or move air across one or more heatsinks (not explicitly shown) internal to the enclosure to cool one or more information handling resources.

Speed sensor 110 may be communicatively coupled to air mover 110, and may include any system, device, or apparatus capable of sensing the speed (e.g., revolutions per minute) of a rotational component of air mover 108 (e.g., fan, rotor, impeller, motor, etc.) and communicating a signal indicative of such sensed speed to air mover control system 106. In some embodiments, speed sensor 110 may comprise a Hall effect sensor (e.g., a transducer that varies its output voltage in response to a magnetic field, such magnetic field created by a magnetic element present in air mover 108).

A temperature sensor 112 may be any system, device, or apparatus (e.g., a thermometer, thermistor, etc.) configured to communicate a signal to air mover speed controller 106 indicative of a temperature within information handling system 102.

For ease of exposition, FIG. 1 depicts only one each of air mover control system 106, air mover 108, speed sensor 110, and temperature sensor 112. However, it is noted that information handling system 102 may include two or more air movers 108 and each such air mover 108 may have a dedicated respective air mover control system 106 and/or a dedicated respective speed sensor 110. It is further noted that an air mover control system 106 may receive temperature signals from one or more temperature sensors 112, and that a single temperature sensor 112 may communicate temperature signals to one or more air mover control systems 106.

In addition to processor 103, memory 104, air mover control system 106, air mover 108, speed sensor 110, and temperature sensor 112, information handling system 102 may include one or more other information handling resources.

FIG. 2 illustrates a block diagram of an example air mover control system 106, in accordance with the present disclosure. As shown in FIG. 2, air mover control system 106 may comprise a lookup table 202, a feedback controller 204, a driving signal generator 206, a comparator 208, and a multiplexer 210. Such components of air mover control system 106 may be implemented in hardware, software, firmware, or any combination thereof.

Lookup table 202 may include any suitable table, map, database, or other data structure that associates one or more measured temperatures (e.g., communicated from one or more temperature sensors 112) to corresponding air mover setpoint velocities. Thus, based on one or more temperatures sensed by one or more temperature sensors 112, air mover control system 106 may determine a setpoint velocity v_(SP) for air mover 108.

Feedback controller 204 may comprise any system, device, or apparatus configured to, based on a setpoint velocity v_(SP) and a measured air mover velocity v_(PV), generate a controller air mover driving signal i_(CONT). In some embodiments, feedback controller 204 may dynamically modify the tentative air mover driving signal based on a calculated difference or error between the setpoint velocity v_(SP) and the measured air mover velocity v_(PV). In some embodiments, controller air mover driving signal i_(CONT) may comprise a pulse-width modulation (PWM) signal, in which the width of a pulse of a periodic square wave signal may be indicative of a desired operating velocity for air mover 108. In addition or alternatively, feedback controller 204 may update the controller air mover driving signal i_(CONT) at a periodic frequency based on the setpoint velocity v_(SP) and the measured air mover velocity v_(PV), as described elsewhere in this disclosure. For example, the periodic frequency of update may be higher when the magnitude of error between the setpoint velocity v_(SP) and the measured air mover velocity v_(PV) is larger (e.g., updating eight times per second when the error is more than 500 RPM), and the periodic frequency of update may be lower when the magnitude of error between the setpoint velocity v_(SP) and the measured air mover velocity v_(PV) is smaller (e.g., updating once every two seconds when the error is less than 100 RPM). Because such update frequency is a function of the magnitude of the error, the oscillation present in traditional feedback controllers (e.g., PID controllers) may be reduced or eliminated.

Driving signal generator 206 comprise any system, device, or apparatus configured to, based on a setpoint velocity v_(SP), generate a setpoint air mover driving signal i_(SP) that may be received by air mover 108. In some embodiments, setpoint air mover driving signal i_(SP) may comprise a pulse-width modulation (PWM) signal, in which the width of a pulse of a periodic square wave signal may be indicative of a desired operating velocity for air mover 108. In some embodiments, driving signal generator 206 may include a lookup table (e.g., a table, map, database, or other structure) that associates one or more values of setpoint velocity v_(SP) (e.g., communicated from lookup table 202) to corresponding setpoint air mover driving signals i_(SP). In such embodiments, driving signal generator 206 may lookup the value of a setpoint velocity v_(SP) received at its input and generate a setpoint air mover driving signal i_(SP) corresponding thereto. Alternatively in such embodiments, driving signal generator 206 may ramp (e.g., monotonically increase or decrease) from a previous setpoint air mover driving signal i_(SP)′ to the setpoint air mover driving signal i_(SP) corresponding to the setpoint velocity v_(SP) received at its input. Such ramping may prevent a substantially instantaneous change in the actual velocity of air mover 108, which may be audibly noticeable to a user.

Comparator 208 may comprise any system, device, or apparatus configured based on a setpoint velocity v_(SP) and a previous setpoint velocity v_(SP)′, determine if the value of the setpoint velocity has changed more than a predetermined threshold. If the value of the setpoint velocity has changed more than a predetermined threshold, comparator 208 may generate a delta signal Δ_(v) _(SP) indicating such change.

Multiplexer 210 may comprise any system, device, or apparatus that, based on a received control signal (e.g., delta signal Δ_(v) _(SP) ) selects one of several input signals and forwards the selected input as an output signal onto the output signal line or bus, as described in greater detail below. Specifically, if delta signal Δ_(v) _(SP) indicates a change in the setpoint velocity v_(SP), multiplexer may forward setpoint air mover driving signal i_(SP) as the air mover driving signal to be communicated to air mover 108. On the other hand, if delta signal Δ_(v) _(SP) does not a change in the setpoint velocity v_(SP), multiplexer may forward controller air mover driving signal i_(CONT) as the air mover driving signal to be communicated to air mover 108. Accordingly, in the event of a significant change in setpoint velocity v_(SP), feedback controller 204 is bypassed and the air mover driving signal is set directly based on the setpoint velocity v_(SP), thus potentially reducing lag inherent in feedback controller 204.

FIG. 3 illustrates a flow chart of an example method 300 for air mover control, in accordance with the present disclosure. According to one embodiment, method 300 may begin at step 302. As noted above, teachings of the present disclosure may be implemented in a variety of configurations of information handling system 102 and/or air mover control system 106. As such, the preferred initialization point for method 300 and the order of the steps comprising method 200 may depend on the implementation chosen.

At step 302, air mover control system 106 or another component of information handling system 102 may determine a setpoint velocity v_(SP) based on one or more measured temperatures (e.g., received from one or more temperature sensors 112). At step 304, air mover control system 106 or another component of information handling system 102 may determine if the magnitude of the difference between the setpoint velocity v_(SP) and a previous setpoint velocity v_(SP)′ is greater than a predetermined threshold. If the magnitude of the difference between the setpoint velocity v_(SP) and a previous setpoint velocity v_(SP)′ is greater than a predetermined threshold, method 300 may proceed to step 306. Otherwise, method 300 may proceed to step 208.

At step 306, in response to a determination that the magnitude of the difference between the setpoint velocity v_(SP) and a previous setpoint velocity v_(SP)′ is greater than a predetermined threshold, air mover control system 106 or another component of information handling system 102 may generate an air mover driving signal at a value based on the setpoint velocity v_(SP) (e.g., the setpoint air mover driving signal i_(SP), thus bypassing feedback controller 204). After completion of step 306, method 300 may proceed again to step 302.

At step 308, in response to a determination that the magnitude of the difference between the setpoint velocity v_(SP) and a previous setpoint velocity v_(SP)′ is not greater than the predetermined threshold, air mover control system 106 or another component of information handling system 102 may calculate an air mover driving signal at a value based on an error between the setpoint velocity v_(SP) and a measured air mover velocity v_(PV).

At step 310, air mover control system 106 or another component of information handling system 102 may generate the calculated air mover driving signal at a periodic frequency based on the error between the setpoint velocity v_(SP) and a measured air mover velocity v_(PV). After completion of step 310, method 300 may proceed again to step 302.

Although FIG. 3 discloses a particular number of steps to be taken with respect to method 300, method 300 may be executed with greater or lesser steps than those depicted in FIG. 3. In addition, although FIG. 3 discloses a certain order of steps to be taken with respect to method 300, the steps comprising method 300 may be completed in any suitable order.

Method 300 may be implemented using information handling system 102, air mover control system 106, or any other system operable to implement method 300. In certain embodiments, method 300 may be implemented partially or fully in software and/or firmware embodied in computer-readable media.

Although the foregoing discussion contemplated application systems and methods for closed-loop control to operation of an air mover, similar methods and systems may be generalized and applied to other closed loop controls. For example, such similar methods and systems may be applied to generate a driving signal to any appropriate component based on any measured process value other than a measured velocity and a setpoint value other than a setpoint velocity.

Although the present disclosure has been described in detail, it should be understood that various changes, substitutions, and alterations can be made hereto without departing from the spirit and the scope of the disclosure as defined by the appended claims. 

1-18. (canceled)
 19. An air mover system, comprising: an air mover configured to move air in accordance with an air mover driving signal; and an air mover controller comprising: a temperature sensor input configured to receive a temperature signal indicative of a temperature; a speed sensor input configured to receive a speed signal indicative of a speed associated with the air mover; and air mover control logic to generate the air mover driving signal in accordance with the temperature signal and the speed signal, wherein the air mover control logic is configured to perform air mover control operations comprising: determining a setpoint value in accordance with the temperature signal; generating a setpoint signal in accordance with the setpoint value; generating a controller signal in accordance with the setpoint value and the speed signal; determining a delta indicative of a difference between the setpoint value and a prior instance of the setpoint value; and selecting, based on the delta, either the controller signal or the setpoint signal as the air mover driving signal.
 20. The air mover system of claim 19, wherein generating the setpoint signal comprises modulating, based on the setpoint value, a pulse width of a periodic square wave signal.
 21. The air mover system of claim 19, wherein generating the setpoint signal comprises ramping the setpoint signal from a value indicative of a prior instance of the setpoint signal to a value indicative of a present instance of the setpoint signal.
 22. The air mover system of claim 19, wherein generating the controller signal comprises modulating, based on the setpoint value and the speed signal, a pulse width of a periodic square wave signal.
 23. The air mover system of claim 22, wherein said air mover control logic is configured to: generate the air mover driving signal periodically at a particular frequency; and vary the particular frequency in accordance with the delta, wherein a greater delta corresponds to a higher value of the particular frequency.
 24. The air mover system of claim 19, wherein determining the setpoint value comprises retrieving selecting, based on the temperature signal, a particular setpoint value from a plurality of setpoint values stored in a setpoint lookup table.
 25. The air mover system of claim 19, wherein said selecting comprises: selecting the setpoint signal as the air mover driving signal responsive to detecting the delta below a particular threshold; and selecting the controller signal as the air mover driving signal responsive to detecting the delta above the particular threshold.
 26. An information handling system, comprising: a processor; a memory communicatively coupled to the processor; and an air mover system communicatively coupled to the processor, the air mover system comprising: an air mover configured to move air in accordance with an air mover driving signal; and an air mover controller comprising: a temperature sensor input configured to receive a temperature signal indicative of a temperature; a speed sensor input configured to receive a speed signal indicative of a speed associated with the air mover; and air mover control logic to generate the air mover driving signal in accordance with the temperature signal and the speed signal, wherein the air mover control logic is configured to perform air mover control operations comprising: determining a setpoint value in accordance with the temperature signal; generating a setpoint signal in accordance with the setpoint value; generating a controller signal in accordance with the setpoint value and the speed signal; determining a delta indicative of a difference between the setpoint value and a prior instance of the setpoint value; and selecting, based on the delta, either the controller signal or the setpoint signal as the air mover driving signal.
 27. The information handling system of claim 26, wherein generating the setpoint signal comprises modulating, based on the setpoint value, a pulse width of a periodic square wave signal.
 28. The information handling system of claim 26, wherein generating the setpoint signal comprises ramping the setpoint signal from a value indicative of a prior instance of the setpoint signal to a value indicative of a present instance of the setpoint signal.
 29. The information handling system of claim 26, wherein generating the controller signal comprises modulating, based on the setpoint value and the speed signal, a pulse width of a periodic square wave signal.
 30. The information handling system of claim 29, wherein said air mover control logic is configured to: generate the air mover driving signal periodically at a particular frequency; and vary the particular frequency in accordance with the delta, wherein a greater delta corresponds to a higher value of the particular frequency.
 31. The information handling system of claim 26, wherein determining the setpoint value comprises retrieving selecting, based on the temperature signal, a particular setpoint value from a plurality of setpoint values stored in a setpoint lookup table.
 32. The information handling system of claim 26, wherein said selecting comprises: selecting the setpoint signal as the air mover driving signal responsive to detecting the delta below a particular threshold; and selecting the controller signal as the air mover driving signal responsive to detecting the delta not below the particular threshold.
 34. A thermal control method, comprising: receiving, from a temperature sensor, a temperature signal indicative of a temperature; receiving, from a speed sensor, a speed signal indicative of a speed associated with an air mover; and generating an air mover driving signal in accordance with the temperature signal and the speed signal, wherein said generating includes performing air mover control operations comprising: determining a setpoint value in accordance with the temperature signal; generating a setpoint signal in accordance with the setpoint value; generating a controller signal in accordance with the setpoint value and the speed signal; determining a delta indicative of a difference between the setpoint value and a prior instance of the setpoint value; and selecting, based on the delta, either the controller signal or the setpoint signal as the air mover driving signal.
 35. The thermal control method of claim 34, wherein said selecting comprises: selecting the setpoint signal as the air mover driving signal responsive to detecting the delta below a particular threshold; and selecting the controller signal as the air mover driving signal responsive to detecting the delta above the particular threshold.
 36. The thermal control method of claim 34, wherein generating the air mover driving signal comprises: generating the air mover driving signal periodically at a particular frequency; and varying the particular frequency in accordance with the delta, wherein a greater delta corresponds to a higher value of the particular frequency.
 37. The thermal control method of claim 34, wherein the temperature indicated by the temperature signal comprises a temperature within an information handling system.
 38. The thermal control method of claim 37, further comprising: driving an air mover of the information handling system in accordance with the air mover driving signal. 